package task11;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

/**
 * Create by IntelliJ IDEA
 *
 * @author: jsonor
 * @date-Time: 2018/4/27 8:10
 * @description:HashMap集合，添加元素，遍历输出。
 */
public class HashMapTest {

  public static void main(String[] args) {
    /*创建HashMap对象，
    添加元素，
    遍历输出*/
    HashMap<Integer,String>stringHashMap=new HashMap<Integer,String>();
    stringHashMap.put(1,"Mary");
    stringHashMap.put(1,"Tom");
    stringHashMap.put(2,"Jack");
    stringHashMap.put(3,"Jack");

    /* 遍历方式1：键找值
      *  1）获取所有键的集合
      *  2）遍历键的集合,得到每一个键
       *  3）根据键到集合中去找值 */
    Iterator iterator=stringHashMap.keySet().iterator();
    while(iterator.hasNext()){
      Integer key=(Integer)iterator.next();
      String value=stringHashMap.get(key);
      System.out.println(key+":"+value);

    }
    System.out.println();

    /*遍历方式2：键值对对象找键和值（效果高）
      1）获取所有的键值对对象的集合
      2）遍历键值对对象的集合，获取每一个键值对对象
      3）根据键值对对象去获取键和值*/
    Iterator entryIterator=stringHashMap.entrySet().iterator();
    while (entryIterator.hasNext()){
    Map.Entry<Integer,String>entry= (Entry<Integer, String>) entryIterator.next();
    Integer key=entry.getKey();
    String value=entry.getValue();
    System.out.println(key+"--"+value);
    }
  }
}
